/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package be;

import java.math.BigDecimal;
import java.util.ArrayList;

/**
 *
 * @author Administrador
 */
public class FactibilidadEconomica {

    private String                  NroDocumento;
    private String                  Nombre;
    private int                     CargaFamiliar;
    private double                  Deuda;
    private ArrayList<Factibilidad> balance;
    private ArrayList<Factibilidad> ingresos;
    private ArrayList<FlujoCaja>    flujos;

    /**
     * @return the NroDocumento
     */
    public String getNroDocumento() {
        return NroDocumento;
    }

    /**
     * @param NroDocumento the NroDocumento to set
     */
    public void setNroDocumento(String NroDocumento) {
        this.NroDocumento = NroDocumento;
    }

    /**
     * @return the Nombre
     */
    public String getNombre() {
        return Nombre;
    }

    /**
     * @param Nombre the Nombre to set
     */
    public void setNombre(String Nombre) {
        this.Nombre = Nombre;
    }

    /**
     * @return the CargaFamiliar
     */
    public int getCargaFamiliar() {
        return CargaFamiliar;
    }

    /**
     * @param CargaFamiliar the CargaFamiliar to set
     */
    public void setCargaFamiliar(int CargaFamiliar) {
        this.CargaFamiliar = CargaFamiliar;
    }

    /**
     * @return the Deuda
     */
    public double getDeuda() {
        return Deuda;
    }

    /**
     * @param Deuda the Deuda to set
     */
    public void setDeuda(double Deuda) {
        this.Deuda = Deuda;
    }

    public void llenarBalance(){
        balance = new ArrayList<Factibilidad>();
        balance.add(new Factibilidad("ACTIVO",                          new BigDecimal(0)));
        balance.add(new Factibilidad("ACTIVO CIRCULANTE",               new BigDecimal(0)));
        balance.add(new Factibilidad("Disponible",                      new BigDecimal(0)));
        balance.add(new Factibilidad("Caja",                            new BigDecimal(0)));
        balance.add(new Factibilidad("Bancos",                          new BigDecimal(0)));
        balance.add(new Factibilidad("Cuentas por cobrar(Clientes)",    new BigDecimal(0)));
        balance.add(new Factibilidad("Inventarios",                     new BigDecimal(0)));
        balance.add(new Factibilidad("ACTIVO FIJO",                     new BigDecimal(0)));
        balance.add(new Factibilidad("Bienes inmuebles",                new BigDecimal(0)));
        balance.add(new Factibilidad("Maquinaria, equipos y vehiculos", new BigDecimal(0)));
        balance.add(new Factibilidad("Muebles y enseres",               new BigDecimal(0)));
        balance.add(new Factibilidad("PASIVO",                          new BigDecimal(0)));
        balance.add(new Factibilidad("PASIVO CORRIENTE",                new BigDecimal(0)));
        balance.add(new Factibilidad("Proveedores",                     new BigDecimal(0)));
        balance.add(new Factibilidad("Pasivo a corto Plazo",            new BigDecimal(0)));
        balance.add(new Factibilidad("Bancos Cuentas por Pagar",        new BigDecimal(0)));
        balance.add(new Factibilidad("Cajas ,pymes Cuentas por Pagar",  new BigDecimal(0)));
        balance.add(new Factibilidad("Otros deudas",                    new BigDecimal(0)));
        balance.add(new Factibilidad("Creditos con Nuestra Gente",      new BigDecimal(0)));
        balance.add(new Factibilidad("PASIVO NO CORRIENTE",             new BigDecimal(0)));
        balance.add(new Factibilidad("Bancos Letras por Pagar",         new BigDecimal(0)));
        balance.add(new Factibilidad("Cajas, Edpymes Letras por Pagar", new BigDecimal(0)));
        balance.add(new Factibilidad("Otros Deudas",                    new BigDecimal(0)));
        balance.add(new Factibilidad("Creditos con Nuestra gente",      new BigDecimal(0)));
        balance.add(new Factibilidad("PATRIMONIO",                      new BigDecimal(0)));
        balance.add(new Factibilidad("Capital Social",                  new BigDecimal(0)));
        balance.add(new Factibilidad("Utilidades Retenidas",            new BigDecimal(0)));
        balance.add(new Factibilidad("Otros",                           new BigDecimal(0)));

    }

    public void llenarIngresos(){
        ingresos = new ArrayList<Factibilidad>();
        ingresos.add(new Factibilidad("VENTAS",                             new BigDecimal(0)));
        ingresos.add(new Factibilidad("Ventas al contado",                  new BigDecimal(0)));
        ingresos.add(new Factibilidad("Recuperacion de Cuentas por cobrar", new BigDecimal(0)));
        ingresos.add(new Factibilidad("COSTO DE VENTAS",                    new BigDecimal(0)));
        ingresos.add(new Factibilidad("UTILIDAD BRUTA",                     new BigDecimal(0)));
        ingresos.add(new Factibilidad("GASTOS OPERATIVOS",                  new BigDecimal(0)));
        ingresos.add(new Factibilidad("Personal",                           new BigDecimal(0)));
        ingresos.add(new Factibilidad("Alquiler",                           new BigDecimal(0)));
        ingresos.add(new Factibilidad("Servicios",                          new BigDecimal(0)));
        ingresos.add(new Factibilidad("SUNAT/TRIBUTOS/ESSALUD/PREDIOS",     new BigDecimal(0)));
        ingresos.add(new Factibilidad("Transporte",                         new BigDecimal(0)));
        ingresos.add(new Factibilidad("Mantenimiento",                      new BigDecimal(0)));
        ingresos.add(new Factibilidad("Contador",                           new BigDecimal(0)));
        ingresos.add(new Factibilidad("Publicidad",                         new BigDecimal(0)));
        ingresos.add(new Factibilidad("Otros",                              new BigDecimal(0)));
        ingresos.add(new Factibilidad("UTILIDAD OPERATIVA",                 new BigDecimal(0)));
        ingresos.add(new Factibilidad("GASTOS FINANCIEROS",                 new BigDecimal(0)));
        ingresos.add(new Factibilidad("Cuota Banco",                        new BigDecimal(0)));
        ingresos.add(new Factibilidad("Cuota IMF",                          new BigDecimal(0)));
        ingresos.add(new Factibilidad("Cuota Nuestra Gente",                new BigDecimal(0)));
        ingresos.add(new Factibilidad("UTILIDAD NETA",                      new BigDecimal(0)));
        ingresos.add(new Factibilidad("OTROS INGRESOS",                     new BigDecimal(0)));
        ingresos.add(new Factibilidad("GASTOS FAMILIARES",                  new BigDecimal(0)));
        ingresos.add(new Factibilidad("Alimentacion",                       new BigDecimal(0)));
        ingresos.add(new Factibilidad("Educacion",                          new BigDecimal(0)));
        ingresos.add(new Factibilidad("Alquiler",                           new BigDecimal(0)));
        ingresos.add(new Factibilidad("Servicios",                          new BigDecimal(0)));
        ingresos.add(new Factibilidad("Transporte",                         new BigDecimal(0)));
        ingresos.add(new Factibilidad("Salud",                              new BigDecimal(0)));
        ingresos.add(new Factibilidad("Obligaciones",                       new BigDecimal(0)));
        ingresos.add(new Factibilidad("Otros",                              new BigDecimal(0)));
        ingresos.add(new Factibilidad("UTILIDAD",                           new BigDecimal(0)));
        ingresos.add(new Factibilidad("Cuota Nuestra Gente",                new BigDecimal(0)));
        ingresos.add(new Factibilidad("SALDO DISPONIBLE FINAL",             new BigDecimal(0)));
    }

    public void llenarFlujos(){
        
        flujos = new ArrayList<FlujoCaja>();
        flujos.add(new FlujoCaja("INGRESOS", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Ventas al Contado", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Otros Ingresos", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Ingresos Futuros", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Financiamiento", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Aporte Propio", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Credito Nuestra Gente", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("EGRESOS", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Costos de ventas", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Costos de ventas al credito ", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Gastos Operativos", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Gastos Familiares", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Reinversion y Otros", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Cuota Nuestra Gente", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Interes", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Amortizacion de Capital", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Inversion", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Deuda Nuestra Gente y Otras", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Incremento de Capital de Trabajo", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));
        flujos.add(new FlujoCaja("Activo Fijo", new BigDecimal(0), new BigDecimal(0),
                    new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),
                    new BigDecimal(0)));

    }

    public ArrayList<Factibilidad> getBalance() {
        return balance;
    }

    public void setBalance(ArrayList<Factibilidad> balance) {
        this.balance = balance;
    }

    public ArrayList<FlujoCaja> getFlujos() {
        return flujos;
    }

    public void setFlujos(ArrayList<FlujoCaja> flujos) {
        this.flujos = flujos;
    }

    public ArrayList<Factibilidad> getIngresos() {
        return ingresos;
    }

    public void setIngresos(ArrayList<Factibilidad> ingresos) {
        this.ingresos = ingresos;
    }


}
